package org.hd.lineloss.template.dao;


import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.hd.entities.LineLossTemp;
import org.springframework.stereotype.Repository;

import java.util.List;

/***
 * 处理配置的设置
 */
@Repository
@Mapper
public interface LineLossTempDao {


    int queryNewTemp();

    /***
     * 插入配置
     * @param insertDate
     * @param commitMsg
     * @param luckySheetConfigStr
     * @return
     */
    boolean insertTemp (String insertDate,String commitMsg,String luckySheetConfigStr);

    /**
     * 默认条件查询配置，查询最新的一版
     */
    LineLossTemp queryTempDefault();

    /**
     * 根据条件查询配置
     */
    LineLossTemp queryTemp(int id);

    /**
     * 修改查看状态值
     * @param viewId
     * @param code
     * @return
     */
    boolean updateViewId(int viewId,int code);

    /**
     * 查询所有的模板信息
     * @return
     */
    List<LineLossTemp> queryAllTemp();


    /**
     *刷新状态码为0
     */
    boolean updateAllCode(int code);

    /**
     * 更改状态值
     * @param id
     * @return
     */
    boolean updateState(int id);

    /**
     * 更改查看状态值
     * @param id
     * @return
     */
    boolean updateView(int id);

    /**
     * 删除模板
     * @param id
     * @return
     */
    boolean deleteTemp(int id);

    /***
     * 刷新所有的viewid为0
     * @return
     */
    boolean falshView();


    /***
     * 修改更新模板
     * @return
     */
    boolean updateTemp(
            @Param("viewId") int viewId,
            @Param("commitMsg") String commitMsg,
            @Param("luckySheetConfigStr") String luckySheetConfigStr,
            @Param("updateDate") String updateDate
    );

}
